The present invention relates to integrated circuit devices and, more particularly, to multi-mode integrated circuit devices and methods of operating the same.
Smart cards (SC) are typically plastic cards having an embedded integrated circuit (IC). The integrated circuit may be, for example, a logic circuit with its associated memories or a microcontroller with its associated memories and software coupled to a custom integrated circuit block. The integrated circuit of a smart card is typically attached to a lead frame and wire-bonding techniques are used to connect paths of the integrated circuit to lead frame contacts. Potting and other strengthening methods may be used to protect the integrated circuit against chemical and mechanical stresses and the like. Contact pads are typically located on one side of the smart card and are provided in a limited, specified number, such as eight. The contact pads are typically utilized to perform transactions with a smart card reader using a serial protocol.
Various standards for smart cards are published by the International Standards Organization (ISO). The ISO 7816 standards have allowed extensive use of smart cards in a variety of applications, such as accounting, cryptography, personal authentication, and execution of JAVA scripts. ISO documents ISO 7816-1 Physical Characteristics, ISO 7816-2 Dimensions and Locations of contacts, ISO 7816-3 Electronic signals and transmission protocols and ISO 7816-10 Electronic signals and answer to reset for synchronous cards are included in the ISO 7816 standards for smart card operation.
Smart cards are used in a variety of different applications, such as cellular telephone, credit card and identification card applications utilizing authentication and/or security. For example, it is known to use authenticated smart cards in connection with prepaid cards in public telephony, for bankcards in Point of Sale (POS) terminals and Automatic Teller Machines (ATM), for pay TV providers in set top boxes and for wireless telecommunications operators, for example, in a subscriber identification module (SIM) used in the Global System for Mobile communications (GSM) terminals.
Smart cards typically perform communication transactions with the host through a smart card reader. For example, a personal computer system 100 is illustrated in FIG. 1 that is configured to read from a smart card. The personal computer system 100 includes a processor or host unit 110, a display 120 and a keyboard 130. Also shown in the system 100 in FIG. 1 is a mouse 140 and a smart card reader 150. The display 120, keyboard 130, mouse 140 and smart card reader 150 are coupled, either by cables and/or by wireless link, to the host unit 110. The smart card reader 150 communicates with a smart card 160 using a first protocol and with the host unit 110 using a second protocol. The first protocol is typically the ISO 7816 protocol discussed above complying with International Standard Organization (ISO) standards. The smart card reader 150 may be coupled to the host unit 110 by a serial port, parallel port, or the like using the second distinct protocol. The smart card 160 may be read, for example, in connection with secure transactions over the internet accessed using the personal computer system 100.
The card reader 150 typically contains electronic circuits and embedded software that enable communication with the smart card 160 using the ISO 7816 protocol and the host unit 110 using a serial protocol, such as an RS 232C protocol, through a serial port of the host unit 110. For a serial link, such as an RS 232C protocol serial link, between the smart card reader 150 and the host unit 110, a variety of communication rates may be supported, such as a base rate of 9600 bits per second (bps) or optional higher rates, such as two or four times the base rate. An overall data transmission speed between the smart card 160 and the host unit 110 may be limited because of the serial port low speed data rate for data transfer, which is typically below 1 Megabits per second (Mbps). As such, the reader 150 may need to read data from the smart card 160 and transmit the data to the host unit 110 of the personal computer system 100 after first buffering the data.
An alternative approach to reading smart card information is illustrated for the personal computer system 200 in FIG. 2. The personal computer system 200 includes a host unit 210 having the ability to support communications not only through a serial RS 232C type port but also through a Universal Serial Bus (USB) protocol port and/or an Institute of Electrical and Electronics Engineers (IEEE) 1394 protocol port. The smart card device 160′ may communicate with the host using USB and/or IEEE 1394 protocols through a dongle 250. The dongle 250 is, essentially, little more than a connector socket with a plug 251 configured to connect to a USB or IEEE port of the host unit 110 using a cable or wireless connection. As such, a different dongle 250 configuration having a different connector 251 may be utilized depending upon whether USB or IEEE 1394 communications are to be used. The host unit 210 further is coupled to a display 220, keyboard 230 and mouse 240 to support user input/output communications.
Note that the smart card 160′ of FIG. 2 is illustrated as including connectors (contact pads) 261 on an upper face thereof and the smart card 160 shown in FIG. 1 is illustrated with connectors 161 on an upper face thereof. The connectors 161, 261 may be utilized to enable input/output communications between the smart card 160, 160′ and the respective smart card reader 150 or dongle 250.
It will be understood that the smart card 160 differs from the smart card 160′ in that the smart card 160 is configured and specifically provided for reading in an ISO standard smart card reader 150 while the smart card 160′ is configured to communicate with a USB protocol when the dongle 250 is configured for a USB interface 251 and a distinct different smart card is provided for reading by an IEEE 1394 dongle 250 with an IEEE 1394 connector 251. In other words, smart card 160 typically may not be read by the dongle 250 and the smart card 160′ typically may be not read by the smart card reader 150.
By using a USB or IEEE 1394 interface, as with the personal computer system 200, a higher data transfer rate from the smart card 160′ may be provided. For example, a USB interface typically supports a data communication rate of 12 Mbps or more and an IEEE 1394 interface typically supports a data communication rate of about 400 Mbps. As such, direct data transfer may be provided from the smart card 160′ to the host unit 210 without utilizing buffering or the like in the dongle 250, therefore simplifying the dongle 250. In addition, hot plug and play capability may be provided without disrupting the personal computer system 200 when a smart card 160′ is inserted into the dongle 250.
The USB interface can generally be described as a set of four wires of which two carry a power supply (VDD, VSS) and two other wires support data (D+, D−). The USB standard is defined by the Universal Serial Bus Specification written and controlled by USB Implementers Form Inc., a non-profit corporation founded by the group of companies that developed the USB specification.